Major
Features in VisualWorks 2.5
For more information or if you have comments, send email to info@heeg.de
Internationalization
Provides the infrastructure that allows our customers to develop localized
applications. This will enable our customers to develop foreign language
user interfaces and to support international standards and conventions.
This is not only important to our international customers, however. Many
of our large customers are multinational corporations that need to deploy
in more than one country.
Components
- Unicode - makes this the base character encoding for VisualWorks
- Locales - Specifies how VisualWorks will handle dates, currency, numbers,
and collation.
- Message catalogs - localized text resources
Locales
- Currency policy
- Font size and family
- Character set
- Number policy
- - decimal point
- Timestamp (can be customized)
- shortPolicy - Date
- longPolicy - date
- shortWeekdays
- longWeekdays
- shortMonths
- longMonths
- shortAmPm
- longAmPm
- DefaultPaperSize
- Collation policy
Message Catalogs
- Interface Labels on canvases
- Menu text
- menu bars
- menu buttons
- pop-up menus
- Transcript messages
- Dialogs
Application Delivery
A New Delivery Paradigm for Smalltalk
The traditional method of delivering a Smalltalk application was to
develop the application and create a runtime by stripping out the unneeded
classes and methods. This meant that applications were delivered as monolithic
images and incremental updating of the application code was difficult.
The goal of this effort is to:
- Provide tools to make application delivery easier
- Allow developers to build applications that can load/unload parts of
applications and, thereby, allow them to:
- actively manage footprint by loading only needed portions of application
- unload and reuse same memory when the part of the application being
used is changed
- distribute new version of apps without the whole image
Eventually, this means that applications and even VisualWorks development
systems can be made out of independent components
At the heart of the point release, delivery capability is the ability
to place classes and methods into a separate file called a parcel for runtime
loading. Users will have the ability to specify parcels to load on the
command line. On platforms such as Windows this will enable double-clicking
the parcel file to make it load and run.
What is a Parcel?
A Parcel is typically classes and methods that are grouped together
and loaded at the same time. They will typically represent a part of an
application. Parcels have a name, a version string, a comment string, class
definitions, and method definitions. They are saved in Parcel Files which
contain only compiled code in a fast loading, binary format. They do not
contain source code.
Important Point
Parcels are a deployment mechanism - they deal with how the finished
application will be loaded and updated.
Three-Step Process For Application Delivery
- Develop the application
- Parcel the application and write appropriate code for loading
- Create the deployment image using the Image Maker
What Parcels Allow You To Do
- Deliver a much smaller base image
- Incrementally update your deployed application
Application Delivery capabilities will include:
- Parcel definition tool - browser tool for parcels which allows inclusion
or removal of classes or class extensions.
- New Image Maker - Greater ability to carve out chunks of the system
- Runtime parcel-loading and unloading available via two means
- a command line switch
- a simple API.
Headless Support
- Allows construction of server or batch VisualWorks applications in
which the display system is deactivated.
- No direct user interaction
- May run on systems having no console or windowing system.
Implementation
- A new class acts as the focal point for headless operation.
- When the image starts, there is no hookup to the windowing system.
- If attempt is made to access a display, the error is trapped and logged.
- Startup file for initiating image activity.
- Transcript messages rerouted to disk files.
Communicating with a Headless Image
New Menu Editor
- A new menu editor has been developed that provides greater support
for the menu framework of VW2.0.
- Supports definition of
- Shortcut Keys
- Submenus
- Enable/Disable
Improved Development Tool Interfaces
- Development tools are VisualWorks applications.
- Provides
- Keyboard traversal of browser
- Enables drage & drop
Drag-and-Drop Framework
- Framework allow developers to build portable applications using drag
and drop within and between VisualWorks windows.
- New API for building D&D applications
- Examples include base tools with some drag-and-drop awareness.
Examples
- drag selector from browser to Aspect field in a VW property sheet
- drag class or selector from browser to launcher browse button to create
a new browser
- drag selector to protocol name to move method
Event-Oriented Windows
- Provide the capability to create windows that do not use polling.
- Controllers will report events
- New API
- Benefits
- Windows won't miss mouse clicks
- Smaller impact on performance
Defect Removal
- Combo boxes
- Dataset views
- Menus
- Input boxes
Additional Changes
- Sunset of Serial I/O
- Current implementation remains for this release.
- DLL/CC examples to illustrate replacement for serial.st.
- ODI VM changes.
- Mac Sockets certification
- Performance improvements
New Database Connects
- Sybase on PowerMac
- Sybase on Windows NT
- DB2 EXDI
New Platforms
- SGI IRIX 5.x
- MIPS ABI
- Digital Alpha Unix - (2.0 FCS in June)
- Digital Alpha NT
Platform Support Updates
- SGI IRIX 5.x
- MIPS ABI
- OS/2 Warp
- Mac 7.5.1
- SunOS 4.1.4
- Windows NT 3.5.1
- Solaris 2.4
- AIX 4.1.2